<?php

namespace Topxia\Service\User\Dao;

interface UserDao
{
	public function getUser($id, $lock = false);
    
    public function getUsernickname($nickname);
    
    public function updateUserdj($userid, $dj);
    
    public function getUserlevel();
	
	public function getUservip();
	
	public function updataUservip($vipid,$vipname);
	
	public function getUservipnum($vipnum);
	
	public function updataUservipcourseId($vipnum,$courseId);
    
    public function updataUserlevel($levelnum,$levelname,$color);
    
    public function updataUserlevelintegral($id,$integral);
    
    public function updataUserintegral($signin,$invitation,$beinvitation);
    
    public function getUserintegral();
    
    public function getUserSingin();
    
    public function selectname($username);
    
    public function selectsignin($userid);
    public function selectsigninlist($userid);
    public function updatasignin($userid,$integralnum);
    
    public function addintegral($bind);
    
    public function getintegral($userid);
    
    public function getintegraltime($userid);
    
    public function getUserlevelname($levelnum);
        
	public function findUserByEmail($email);

	public function findUserByNickname($nickname);

	public function findUserByVerifiedMobile($mobile);

	public function findUsersByNicknames(array $nicknames);

	public function findUsersByIds(array $ids);
	    
	public function searchUsers($conditions, $orderBy, $start, $limit);

	public function searchUserCount($conditions);

	public function addUser($user);

	public function updateUser($id, $fields);

	public function waveCounterById($id, $name, $number);

	public function clearCounterById($id, $name);

	public function analysisRegisterDataByTime($startTime,$endTime);

	public function analysisUserSumByTime($endTime);

	public function findUsersCountByLessThanCreatedTime($endTime);

}